Electronic messaging is a widely accepted technique for exchanging information over communication networks. Some illustrative examples of electronic messaging include using a cellular telephone to send video or still image files over a wireless network, using a personal computer to send an instant message over the Internet, sending a text message to a cellular telephone, sending and receiving video messages in the context of internet protocol television (IPTV), sending an email message over the Internet, and others. Business professionals, students, homemakers and others spend a substantial portion of time engaged in message-related activities such as reading messages, deleting unwanted messages, responding to incoming messages, organizing a list of incoming messages that are to be saved, and re-contextualizing information received in electronic messages. Some forms of electronic messaging, such as email, utilize a store-and-forward process that enables users to decide when a message will be read, how much time will be spent reading the message, and whether or not an ongoing activity will be interrupted to read the message. Other forms of messaging are instantaneous, operating substantially in real time. In the future, electronic messaging is likely to increase considerably due to increased globalization, outsourcing, and the desire for many organizations to be geographically close to their customer base.
One feature commonly offered by electronic messaging programs is the ability to store a contact list for a user. The contact list includes a plurality of contact names each associated with a corresponding electronic destination address. The contact names may include a user's friends, family members, colleagues, and others. The list may be generated automatically in response to a user sending an electronic message to the destination address or receiving an electronic message from the destination address. Alternatively or additionally, the user may be provided with an editing mechanism for adding contacts to the list, removing contacts from the list, and changing the destination addresses associated with one or more contact names.
When the user wishes to compose an outgoing message, existing electronic messaging programs typically allow the user to search through the contact list to select one or more message recipients. The contact list is typically presented to the user in the form of a text-based graphical user interface that includes a searchable, alphabetized list of contact names. Using a mouse, pointer, keyboard, or other input mechanism, the user is able to scroll through the contact list to view a plurality of contact names. The process of selecting one or more desired message recipients from this list is tedious and time consuming, especially in situations where the user's contact list includes a number of contact names.
After the user selects one or more desired message recipients, the user may wish to incorporate one or more message attachments into the electronic message, or may wish to send a message that consists of one or more files, or both. Existing methods for attaching files to electronic messages, and for selecting files to be sent as messages, involve a multi-step procedure where a user is required to navigate through a sequence of on-screen menus in order to locate one or more desired files. More specifically, in order to locate a desired file, the user must specify the data storage drive on which the file is stored, as well as the name of the file. However, in some cases, the user may not remember where the file is stored. For example, the file could be stored on a local hard drive (i.e., the C:/ drive), a network drive, or a removable storage device. Moreover, the user may not be able to recall the name of the file.
Even if the name of the file and its storage location are known, the process of locating and selecting the file may be tedious and time-consuming. For example, a list of files available for sending is typically presented to the user in the form of a text-based graphical user interface that includes a searchable, alphabetized list of directories and files available on a specific data storage drive. Using a mouse, pointer, keyboard, or other input mechanism, the user is able to scroll through the list of directories and files to view a plurality of file names. The process of selecting one or more desired files from this list is tedious and time consuming, especially in situations where the data storage drive includes a multiplicity of file names.
In view of the foregoing, what is needed is an improved graphical user interface for electronic messaging programs that facilitates selection of electronic files and message recipients.